package client;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.HashMap;
import java.util.Map;

import Communication.Mouvement;

public class Clavier extends KeyAdapter {
	
		private Map<Integer, Boolean> toucheEnfonce = new HashMap<>();
		
		public boolean get(int key){
			if(!toucheEnfonce.containsKey(key)){
				toucheEnfonce.put(key,false);
			}
			return toucheEnfonce.get(key);
		}
        @Override
        public void keyReleased(KeyEvent e) {
        	toucheEnfonce.put(e.getKeyCode(),false);
        }

        @Override
        public void keyPressed(KeyEvent e) {
        	toucheEnfonce.put(e.getKeyCode(),true);
        }
        
        public int mouvementVertical(){
        	boolean haut = get(KeyEvent.VK_UP);
        	boolean bas = get(KeyEvent.VK_DOWN);
        	if(haut && !bas){
        		return Mouvement.HAUT;
        	} else if(!haut && bas){
        		return Mouvement.BAS;
        	} else {
        		return Mouvement.IMOBILE;
        	}
        }
        
        public int mouvementHorizontal(){
        	boolean gauche = get(KeyEvent.VK_LEFT);
        	boolean droit = get(KeyEvent.VK_RIGHT);
        	if(gauche && !droit){
        		return Mouvement.GAUCHE;
        	} else if(!gauche && droit){
        		return Mouvement.DROIT;
        	} else {
        		return Mouvement.IMOBILE;
        	}
        }
}
